package myzzyl.service;

import com.baomidou.mybatisplus.extension.service.IService;
import myzzyl.domain.dto.RoomDto;
import myzzyl.domain.pojo.Room;
import myzzyl.domain.vo.RoomTypeVo;
import myzzyl.domain.vo.RoomVo;

import java.util.List;

/**
* @author 33249
* @description 针对表【room】的数据库操作Service
* @createDate 2025-08-07 20:07:33
*/
public interface RoomService extends IService<Room> {


    /**
     * 获取楼层下的所有房间
     * @param floorId 楼层id
     * @return 返回值
     */
    List<RoomVo> getAllByFloorId(Long floorId);


    /**
     * 获取房间详情
     * @param id 房间id
     * @return 返回值
     */
    RoomVo getInfo(Long id);

    /**
     * 新增房间
     * @param roomDto 房间表单包装类
     * @return 返回值
     */
    Boolean add(RoomDto roomDto);


    /**
     * 编辑房间
     * @param roomDto 房间表单包装类
     * @return 返回值
     */
    Boolean edit(RoomDto roomDto);

    /**
     * 删除房间
     * @param id 房间id
     * @return 返回值
     */
    Boolean deleteRoomById(Long id);

    /**
     * 查询房型下的房间数
     * @param typeName 房型名称
     * @return 返回值
     */
    Long selectCountByRoomTypeId(String typeName);
}
